import { defineStore } from 'pinia'

// 定义用户状态存储
export const useUserStore = defineStore('HighwayUser', {
  persist: true,
  // 状态
  state: () => ({
    // 用户角色：admin-管理员，visitor-游客，''-未登录
    role: '',
    // 用户名
    username: '',
    // 是否已登录
    isLoggedIn: false
  }),

  // 计算属性
  getters: {
    // 判断是否为管理员
    isAdmin: (state) => state.role === 'admin',
    // 判断是否为游客
    isVisitor: (state) => state.role === 'visitor'
  },

  // 操作方法
  actions: {
    // 设置用户信息
    setUserInfo(role: string, username: string) {
      this.role = role
      this.username = username
      this.isLoggedIn = true
    },

    // 清除用户信息（登出）
    logout() {
      this.role = ''
      this.username = ''
      this.isLoggedIn = false
    }
  },

})
